#!/usr/bin/python

import sys

my_coords = sys.argv[1]
mf = open(my_coords, "rU")
mlines = mf.readlines()

ncbi_coords = sys.argv[2]
nf = open(ncbi_coords, "rU")
nlines = nf.readlines()

my_loci = []
my_starts = []
my_stops = []
my_strands = []
my_desc = []
ncbi_loci = []
ncbi_starts = []
ncbi_stops = []
ncbi_strands = []
ncbi_desc = []
badlist = {}

for line in mlines:
    l = line.split('\t')
    my_loci.append(l[0])
    my_starts.append(l[1])
    my_stops.append(l[2])
    my_strands.append(l[3])
    my_desc.append(l[4].rstrip())

for line in nlines:
    l = line.split('\t')
    ncbi_loci.append(l[0])
    ncbi_starts.append(l[1])
    ncbi_stops.append(l[2])
    ncbi_strands.append(l[3])
    ncbi_desc.append(l[4].rstrip())

num = len(nlines)

i = 0

while i < num:
    if ncbi_strands[i] == "1":
        for index, line in enumerate(my_stops):
            if ncbi_stops[i] == line:
                if ncbi_starts[i] == my_starts[index]:
                    print "Both start/stop preserved", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
                elif ncbi_starts[i] > my_starts[index]:
                    print "NCBI start is shorter", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
                elif ncbi_starts[i] < my_starts[index]:
                    print "NCBI start is longer", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
            #else:
                #print "Not in Prodigal ORFs", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
    elif ncbi_strands[i] == "-1":
        for index, line in enumerate(my_starts):
            if ncbi_starts[i] == line:
                if ncbi_stops[i] == my_stops[index]:
                    print "Both start/stop preserved", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
                elif ncbi_stops[i] > my_stops[index]:
                    print "NCBI start is longer", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
                elif ncbi_stops[i] < my_stops[index]:
                    print "NCBI start is shorter", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
            #else:
                #print "Not in Prodigal ORFs", ncbi_loci[i], ncbi_starts[i], ncbi_stops[i], ncbi_strands[i], ncbi_desc[i]
    i += 1